<template>
  <div class="map">
    <DetailSection title="位置周边" more="查看更多周边信息">
      <div id="container" ref="mapRef"></div>
    </DetailSection>
  </div>
</template>

<script setup>
  import DetailSection from '@/components/detail-section/detail-section.vue'
  import AMapLoader from '@amap/amap-jsapi-loader'
  import { onMounted, ref } from 'vue'
  const props = defineProps({
    positionModule: {
      type: Object,
      default: () => ({latitude:'38.0185',longitude:'114.4411'})
    }
  })

  const mapRef = ref(null)
  //DOM初始化完成进行地图初始化
  onMounted(() => {
    const initMap = () => {
      AMapLoader.load({
        key: 'cca2fe0b993a2635a79ac0b85f03421b', // 申请好的Web端开发者Key，首次调用 load 时必填
        version: '2.0', // 指定要加载的 JSAPI 的版本，缺省时默认为 1.4.15
        plugins: [''] // 需要使用的的插件列表，如比例尺'AMap.Scale'等
      })
        .then((AMap) => {
          mapRef.value = new AMap.Map('container', {
            //设置地图容器id
            viewMode: '3D', //是否为3D地图模式
            zoom: 15, //初始化地图级别
            center: [props.positionModule.longitude, props.positionModule.latitude] //初始化地图中心点位置
          })

          const marker = new AMap.Marker({
            position: new AMap.LngLat(props.positionModule.longitude, props.positionModule.latitude) // 经纬度对象，也可以是经纬度构成的一维数组[116.39, 39.9]
          })
          mapRef.value.add(marker)
        })
        .catch((e) => {
          console.log(e)
        })
    }

    initMap()
  })
</script>

<style scoped>
  #container {
    padding: 0px;
    margin: 0px;
    width: 100%;
    height: calc(50vh);
  }
</style>
